可以实现交流电流有效值计算,采用C语言实现,方便调用,也可用于其他交流量有效值计算。 void RMS_Cal_Macro_step(void)
{
real_T Vrms;
int32_T Index;
if (!RMS_Cal_Macro_DW.Init_not_empty) {
RMS_Cal_Macro_DW.Init_not_empty = true;
}
RMS_Cal_Macro_DW.CountNum ;
if (RMS_Cal_Macro_DW.CountNum > 40.0) {
RMS_Cal_Macro_DW.CountNum = 1.0;
}
RMS_Cal_Macro_DW.Upeak[(int32_T)RMS_Cal_Macro_DW.CountNum - 1] =
RMS_Cal_Macro_U.In;
Vrms = 0.0;
for (Index = 0; Index < 40; Index ) {
Vrms = RMS_Cal_Macro_DW.Upeak[Index] * RMS_Cal_Macro_DW.Upeak[Index];
}
RMS_Cal_Macro_Y.Out = sqrt(Vrms / 40.0);
}
评论